"No", 1 => "Yes"]; } /** * Get an array of options available for a privilege value.The array keys are * values for the form and the values are the labels for the form. * @return array array of privilege options */ function GetPrivilegeOptions() { $PrivilegeFactory = new PrivilegeFactory(); return ["--" => "--"] + $PrivilegeFactory->GetPrivileges(true, false); } /** * Get an array of options available for SearchGroupLogic. * @return array of options */ function GetSearchGroupLogicOptions() { return [ SearchEngine::LOGIC_OR => "OR", SearchEngine::LOGIC_AND => "AND" ]; } /** * Get the escaped option text and value for a flag value. * @param int $State TRUE if the flag is on and FALSE if the flag is OFF * @return array the first value is the text, the second is the value */ function GetSafeFlagOption($State) { return [ defaulthtmlentities(StdLib::getArrayValue(GetFlagOptions(), $State ? 1 : 0)), defaulthtmlentities($State ? 1 : 0) ]; } /** * Print the type field for the given metadata field data. * @param array $Data metadata field data * @param string|null $Error field error, if one exists * @return void */ function PrintTypeField(array $Data, $Error) { $AllowedTypes = MakeTypesHumanReadable($Data["AllowedTypes"]); $HasNoAllowedTypes = !count($AllowedTypes); $SafeType = defaulthtmlentities($Data["Type"]); $SafeTypeName = defaulthtmlentities(MetadataField::$FieldTypeHumanEnums[$Data["Type"]]); ?>
for="F_Type">Type PrintHtml(); ?> All fields.
Schema Name() ?> All fields.
Name All fields.
for="F_Name">Name All fields.
for="F_Label">Display Name All fields.
Description <?PHP print $SafeValue; ?> All fields.
for="F_Instructions">Instructions <?PHP print $SafeValue; ?> All fields.
for="F_Enabled">Enabled PrintHtml(); ?> All fields.
for="F_Editable">Editable PrintHtml(); ?> All fields.
for="F_Optional">Optional PrintHtml(); ?> Text, Paragraph, Number, Date, Timestamp, Flag, Tree, Controlled Name, Option, User, Image, File, URL, and Point fields.
for="F_UsesQualifiers">Uses Qualifiers PrintHtml(); ?> Text, Paragraph, Number, Date, Timestamp, Flag, Tree, Controlled Name, Option, Image, File, URL, and Point fields.
for="F_HasItemLevelQualifiers">Has Item Level Qualifiers PrintHtml(); ?> Text, Paragraph, Number, Date, Timestamp, Flag, Tree, Controlled Name, Option, Image, File, URL, Email, and Point fields.
for="F_CopyOnResourceDuplication">Copy on Resource Duplication PrintHtml(); ?> All fields.
for="F_ObfuscateValueForAnonymousUsers">Obfuscate for Anonymous Users PrintHtml(); ?> Email fields.
"--"] + $Options; ?>
for="F_DefaultQualifier">Default Qualifier PrintHtml(); ?> Text, Paragraph, Number, Date, Timestamp, Flag, Tree, Controlled Name, Option, Image, File, URL, and Point fields.
for="F_AssociatedQualifierList">Allowed Qualifiers Size(8); $OptList->MultipleAllowed(true); $OptList->PrintHtml(); ?> Text, Paragraph, Number, Date, Timestamp, Flag, Tree, Controlled Name, Option, Image, File, URL, Email, and Point fields.
for="F_ShowQualifiers">Show Qualifiers PrintHtml(); ?> (on the full record page) Text, Paragraph, Number, Date, Timestamp, Flag, Tree, Controlled Name, Option, Image, File, URL, and Point fields.
for="F_IncludeInKeywordSearch">Include in Keyword Search PrintHtml(); ?> Text, Paragraph, Number, Tree, Controlled Name, Option, User, Image, File, and URL fields.
for="F_IncludeInAdvancedSearch">Include in Advanced Search PrintHtml(); ?> Text, Paragraph, Number, Date, Timestamp, Flag, Tree, Controlled Name, Option, User, Image, File, URL, and Reference fields.
for="F_IncludeInFacetedSearch">Include in Faceted Search PrintHtml(); ?> Tree, Controlled Name, and Option fields.
for="F_IncludeInSortOptions">Include in Sort Options PrintHtml(); ?> Text, Number, Date, Timestamp, and URL fields.
Search Weight (1-20) Text, Paragraph, Number, Date, Timestamp, Tree, Controlled Name, Option, User, Image, File, URL, and Reference fields.
Search Group Logic PrintHtml(); ?> (determines how multiple selections for this field are combined) Tree, Controlled Name, and Option fields.
Facets Show Only Terms Used In Results PrintHtml(); ?> (determines if search facets will show all top-level terms for the given field rather than only those associated with the current set of search results) Tree, Controlled Name, and Option fields.
Option List Field Threshold (1 or more) Tree and Controlled Name fields.
Incremental Search Field Threshold (1 or more) Tree, Controlled Name, and Reference fields.
Max Number of Search Results (10 or more) Tree, Controlled Name, and Reference fields.
for="F_UseForOaiSets">Use for OAI Sets PrintHtml(); ?> Tree, Controlled Name, and Option fields.
for="F_DisplayAsLIstForAdvancedSearch">Display as list for Advanced Search PrintHtml(); ?> Tree fields.
for="F_MaxDepthForAdvancedSearch">Max Depth For Advanced Search (1 or more)
When Display As List For Advanced Search is enabled, this sets the maximum number of levels of a Tree field to include in the list (e.g., 1 to only list top-level classifications). Tree fields.
Field Size characters Text, Number, Date, and Point fields.
" for="F_MaxLength">Max Length characters characters
(Note: making this value smaller will not truncate any existing field values) Text and URL fields.
None"; } ?>
for="F_DefaultValue[Generic]">Default Value Text and Paragraph fields.
Update Unset Values With Default Value?
None"; } ?>
for="F_DefaultValue[Numeric]">Default Value Number fields.
Update Unset Values With Default Value?
$Data["FlagOffLabel"], 1 => $Data["FlagOnLabel"]]; $SafeText = defaulthtmlentities($Value ? $Options[1] : $Options[0]); $SafeValue = defaulthtmlentities($Value ? 1 : 0); ?>
for="F_DefaultValue[Flag]">Default Value PrintHtml(); ?> Flag fields.
null, "Y" => null]; $SafeValue = defaulthtmlentities($DefaultValue["X"]); $SafeValue2 = defaulthtmlentities($DefaultValue["Y"]); if ($Data["HasOwner"]) { if (!strlen($SafeValue)) { $SafeValue = "None"; } if (!strlen($SafeValue2)) { $SafeValue2 = "None"; } } ?>
for="F_DefaultValue[Point1]">Default Value X: , Y: X: Y: Point fields.
Update Unset Values With Default Value?
for="F_AllowHTML">Allow HTML in Text PrintHtml(); ?> Tree and Paragraph fields.
Min Value Number fields.
Max Value Number fields.
class="mv-form-requiredfield" for="F_PointPrecision">Point Precision digits to the left of the decimal point digits to the left of the decimal point Point fields.
" for="F_PointDecimalDigits">Decimal Digits in Point digits to the right of the decimal point digits to the right of the decimal point Point fields.
for="F_UpdateMethod">Update Method PrintIfEmpty(false); $OptList->PrintHtml(); ?> Timestamp and User fields.
Paragraph Rows Paragraph fields.
Paragraph Cols Paragraph fields.
for="F_UseWysiwygEditor">Use WYSIWYG Editor PrintHtml(); ?> Paragraph fields.
Flag On Label Flag fields.
Flag Off Label Flag fields.
for="F_AllowMultiple">Allow Multiple PrintHtml(); ?> Option fields.
GetPrivileges(true, false); $Selected = $Data["UserPrivilegeRestrictions"]; ?>
for="F_UserPrivilegeRestrictions">Restrict to Users With One of the Following Size(8); $OptList->MultipleAllowed(true); $OptList->PrintHtml(); ?> User fields.
ViewingPrivileges(); ?>
Viewing Permissions Schema requirements are: Id(); ?>">Edit
In addition, this field requires: DisplaySet("ViewingPrivileges", $Data["ViewingPrivileges"]); ?> All fields.
AuthoringPrivileges(); ?>
Authoring Permissions Schema requirements are: Id(); ?>">Edit
In addition, this field requires: DisplaySet("AuthoringPrivileges", $Data["AuthoringPrivileges"]); ?> All fields.
EditingPrivileges(); ?>
Editing Permissions Schema requirements are: Id(); ?>">Edit
In addition, this field requires: DisplaySet("EditingPrivileges", $Data["EditingPrivileges"]); ?> All fields.
Id()] = $Schema->Name(); } $OptionList = new HtmlOptionList( "F_ReferenceableSchemaIds[]", $OptionValues, $Data["ReferenceableSchemaIds"] ); $OptionList->MultipleAllowed(true); $OptionList->Size(count($Schemas)); ?>
Referenceable Schemas PrintHtml(); ?> Reference fields.
usesAndLogic() ? "AND" : "OR"; $Conditions = $PrivilegeSet->getConditions(); $Subsets = $PrivilegeSet->getSubsets(); $RequiredUserPrivileges = $PrivilegeSet->getPrivileges(); $AllSchemas = MetadataSchema::GetAllSchemas(); # map of friendly names for operators $OpNames = [ "==" => "is", "!=" => "is not", ">" => "is greater than", "<" => "is less than" ]; # construct an array to hold descriptions of each priv element $Elements = []; # foreach user privilege foreach ($RequiredUserPrivileges as $Privilege) { $PrivFlag = new Privilege($Privilege); $Elements [] = "Current user has ".$PrivFlag->Name()." privilege"; } # foreach condition foreach ($Conditions as $Condition) { # field conditions try { # get the field $Field = new MetadataField($Condition["FieldId"]); $Prefix = $AllSchemas[$Field->SchemaId()]->AbbreviatedName(); $SafeName = defaulthtmlentities("[".$Prefix."] " .$Field->GetDisplayName()); $SafeOperator = $OpNames[ $Condition["Operator"] ]; # proper dislpay of 'current user' tests against user fields if ($Field->Type() == MetadataSchema::MDFTYPE_USER && is_null($Condition["Value"])) { $SafeValue = "current user"; } elseif ($Field->Type() == MetadataSchema::MDFTYPE_OPTION) { # proper display of cname values and the contains / # does not contain test. $CName = new ControlledName($Condition["Value"]); $SafeValue = defaulthtmlentities($CName->Name()); if ($Condition["Operator"] == "==") { $SafeOperator = "contains"; } elseif ($Condition["Operator"] == "!=") { $SafeOperator = "does not contain"; } } elseif ($Field->Type() == MetadataSchema::MDFTYPE_FLAG) { # friendly names for flag values $SafeValue = ($Condition["Value"] == 1) ? "true" : "false"; } else { # otherwise display the literal value $SafeValue = defaulthtmlentities($Condition["Value"]); } } catch (Exception $e) { # handle invalid (or deleted) fields $SafeName = "INVALID FIELD"; $SafeValue = defaulthtmlentities($Condition["Value"]); } # append friendly description to our list $Elements [] = $SafeName." ".$SafeOperator." ".$SafeValue; } # foreach subset foreach ($Subsets as $Subset) { # for subgroups, wrap a div around a recursive call to ourself $Elements [] = "(
". getPrivilegeDescriptionHtml($Subset). "
)"; } # glue together all the elements we collected with our logic return implode(" ".$Logic."
", $Elements); } # ----- MAIN ----------------------------------------------------------------- $SafeSchemaId = defaulthtmlentities($H_Schema->Id()); $SafeId = defaulthtmlentities($H_FieldData["Id"]); $SafeName = defaulthtmlentities($H_FieldData["Name"]); $SafeMappedName = defaulthtmlentities($H_FieldData["MappedName"]); $SafeTypeAsName = defaulthtmlentities($H_FieldData["TypeAsName"]); $SafeOwner = defaulthtmlentities($H_FieldData["Owner"]); ?>

# Metadata Field

(required fields are circled)

Export Field
1) { ?>

Please Note: This field is currently designated the Resource Field.Some field attributes cannot be modified and the field cannot be deleted until another metadata field is selected for Resource Field. HasPriv(PRIV_SYSADMIN)) { ?> This can be changed on the System Configuration page. This field was created by the core software. Some field attributes cannot be modified and the field cannot be deleted. This field was created by the plugin. Some field attributes cannot be modified and the field cannot be deleted. This field cannot be deleted because at least one enabled tree field must exist to provide resource browsing functionality.To delete this field, create a new tree field or enable one that is currently disabled. This field cannot be deleted because it is currently in use by the privileges system.

Basic Information | Applies To
--- | ---
Qualifiers | Applies To
For Dublin Core compliant schemas, Qualifiers are equivalent to DC Encoding Schemes. |
Search | Applies To
Resource Editing | Applies To
OAI | Applies To
Type-Specific Information | Applies To
Privileges | Applies To